The present invention relates to a method for controlling an automobile engine, and more particularly to a method for controlling fuel injection of the automobile engine.
Further, the present invention relates to method and apparatus for control by using a digital computer or logic circuit, and more particularly to a method for looking up a table suitable for speeding up an operation.
In a prior art electric control apparatus for an engine, a fuel amount to be supplied in a next step is determined based on a detected amount of suction air in a current step to control fuel.
In the prior art technique, there exists an air amount detection error of approximately one step. Therefore, it is difficult to keep the fuel supply amount to a proper value and hence it is difficult to highly precisely control an air-to-fuel ratio. Further, since the air amount detection error is compensated by allopathic treatment, number of step of development increases.
A prior art method which theoretically solves the above problem is disclosed in JP-A-63-253137. However, it is hard to implement it with an existing 8-bit microcomputer because of the large calculation load required.
On the other hand, a prior art method for looking up a table is explained for a control apparatus of an automobile engine.
As an example of the table look-up, a table look-up for correcting an output voltage characteristic of a sensor is explained.
FIG. 8 shows an output voltage characteristic of a hot wire sensor for measuring suction air amount. A signal produced by the hot wire sensor is an analog signal as shown in FIG. 9 and it represents a voltage value. It is A/D-converted to a digital signal. Since the digital signal also represents a voltage, it is necessary to convert it to a physical amount which represents an air amount sucked per unit time. The air amount is calculated by using an air amount conversion table.
In the air amount conversion table, an abscissa represents a voltage and there are several grid points which represent air amounts. Where on the voltage axis (abscissa in FIG. 10) of the air amount conversion table the A/D converted voltage (KHW) of the signal provided by the hot wire sensor is located is determined. This is called searching. Namely, where in the table THW.sub.i the KWH belongs to is determined, where {THW.sub.i .vertline.0.ltoreq.i.ltoreq.n.sub.H -1}. For example, j which meets a condition of EQU THW.sub.j .ltoreq.KHW&lt;THW.sub.j+1 ( 1)
is determined. (Alternatively, j which meets a condition of EQU THW.sub.j-l .ltoreq.KHW&lt;THW.sub.j ( 2)
may be determined. The THW.sub.i shown above are sorted in an ascending order but intervals between THW.sub.i and THW.sub.i+1 (0.ltoreq.i.ltoreq.n-1) are not equal.
Based on the result of above search, the air amount for the voltage KHW is determined by the following linear interpolation. ##EQU1## where VQ(.) represents an air amount for the voltage on the table.
As shown in FIG. 11, a gradient between THW.sub.j+1 and THW.sub.j is determined, and KHW-THW.sub.j is multipled thereby to determine a physical amount VQ(KHW) for the voltage KHW.
Such a table which converts the characteristic of the sensor is used not only by the hot wire sensor but also various other sensors such as wide band air-to-fuel ratio sensor, coolant (cooling water) temperature sensor and throttle opening degree sensor. Most of them have non-linear conversion characteristics of the physical amount to the sensor output voltage. Such a sensor having the non-linear characteristic uses the above table look-up.
Particularly, in automobile control, a table look-up is frequently carried out based on data produced by various sensors, in the process of calculating various operation amounts such as fuel injection pulse width and ignition timing.
As an example, an operation to determine a fundamental ignition timing by linear interpolation on a two-dimension table based on an engine rotating speed N and a load LD=Qa/N (air amount/engine rotating speed) is briefly explained.
FIG. 12 shows an example of an ignition timing table. A position on the rotating speed axis the rotating speed N is located is searched and j.sub.1 which meets a condition of EQU TN.sub.jl .ltoreq.N&lt;TN.sub.jl+l ( 4)
determined, where {TN.sub.i .vertline.0.ltoreq.i.ltoreq.n.sub.1 -1} is the rotating speed at a grid point having the value of ignition timing on the rotating speed axis. On the other hand, a position on the load axis where the load LD is located is searched and j.sub.2 which meets a condition of EQU TLD.sub.j2 .ltoreq.LD&lt;TLD.sub.j2+1 ( 5)
is determined, where {TLD.sub.1 .vertline.0.ltoreq.i.ltoreq.n.sub.2-1 } is the rotating speed of the grid point having the ignition timing on the rotating speed axis. After the search, a point G is determined by a 4-point interpolation calculation as shown in FIG. 13. The point G may be determined in the following manner. ##EQU2## where A=AD(TN.sub.j1, LD.sub.j2+1),
B=AD(TN.sub.j1, LD.sub.j2), PA0 C=AD(TN.sub.j1+1, LD.sub.j2), PA0 D=AD(TN.sub.j1+1, LD.sub.j2+1), and PA0 AD (.alpha.,.beta.) is a fundamental ignition timing at PA0 a grid point (.alpha.,.beta.) on the table.
In this manner, during the operation for controlling the engine, it frequently occurs that the values which contribute to the operation amount are looked up from the table based on the measured data and modified data (for example, load) derived from the measured data. While the two-dimension table is used above, it also frequently occurs that the value is looked up from a one-dimension table by the interpolation calculation.
The prior art search operation is explained for the search of the engine rotating speed N. The grid points of the rotating speed axis are sorted in an ascending order in the following manner. This is called an ordered table for the rotating speed EQU TN.sub.i &lt;TN.sub.i+1 .vertline.0.ltoreq.i.ltoreq.n-1 (9)
As shown in FIG. 14, the values TN.sub.i of the ordered table for the rotating speed are sequentially compared with the rotating speed N in the ascending order to find j which meets the condition of the formula (4). For example, when the engine rotating speed is high, the number of times of comparison with the rotating speed ordered table increases, and the operation time increases. The search procedure is programmed as a sub-routine, and the search for the rotating speed as well as a search on other ordered tables are conducted. In an operation condition where the engine rotating speed is high, various data such as suction air amount, throttle opening degree, load and water temperature are in relatively high dynamic ranges. Accordingly, all of those tables are looked up, and the comparison is started from the start point (smallest value) of the ordered table for each operation cycle to determine where the data is. Since various data are searched from various ordered tables and the search is started from the same start point for each operation cycle, the operation time required for the search is very large. When the operation time is too large, a set of operations (called a task) of lower priority may not be executed and normal control may not be attained. Particularly, when the rotating speed is high, the rotation time within a constant crank angle is shortened. As a result, the operations to be processed in the crank angle period increase in a constant time, and the above problem dominantly rises.